import moment from 'moment'

/* 时间过滤器 - 年月日 */
export const formatTime = value => moment(value).format('YYYY-MM-DD')
export const formatTimeDate = value => moment(value).format('YYYY-MM-DD HH-mm-ss')
export const newsTime = value => moment(value).format('YYYY/MM/DD HH:mm')
export const communicationTime = value => moment(value).format('MM/DD HH:mm')

// 代理人在职时间
export const oneThejobDay = value =>  {
  //获取入职时间戳
  value = value.replace(/-/g, "/");
  var createTime = new Date(value);
  //获取当前的时间戳
  var nowTime = new Date();
  let processingTime = ''
  //获取处理时间戳
  let cha = nowTime - createTime;
  let day = 1000 * 60 * 60 * 24;
  var month = day * 30
  let year = month * 12

  // processingTime += (cha / month).toFixed(1)
  let round2 = (cha / month).toFixed(2)
  processingTime = (Math.ceil(round2 * 10) / 10).toFixed(1)
  if (processingTime <= 0) {
    return '0.0'
  }  else {
    return processingTime;
  }
}

// 流程人员显示编号
export const processNumber = value => {
  return value.email_work.split("@")[0].split("followup")[1]
}

//代理人显示编号
export const agentNumber = value => {
  if(value) {
    if (value.email_work) {
      return value.email_work.split("@")[0].slice(-3)
    } else {
      return ''
    }
  } else {
    return ''
  }
}

// 代理人显示编号加名字
export const agentNumAddName = value => {
  if(value) {
    if (value.email_work) {
      return `${value.name}（${value.email_work.split("@")[0].slice(-3)}）`
    } else {
      return value.name
    }
  } else {
    return ''
  }
}

export const getNullVal = value => {
  if(!value) {
    return '无'
  } else {
    return value
  }

}

// 答复列表发文日期
export const getPost = value => {
  if (value.statuss) {
    let sta = value.statuss
    if(sta[sta.findIndex(v => v.id == 20)]) {
      return sta[sta.findIndex(v => v.id == 20)].pivot.created_at
    } else {
      return value.updated_at
    }
  } else {
    return value.updated_at
  }
}

// 答复列表更新日期
export const getAnswerUpdateTime = value => {
  if (value.statuss) {
    let sta = value.statuss
    if(sta[sta.findIndex(v => v.id == 21)]) {
      return sta[sta.findIndex(v => v.id == 21)].pivot.created_at
    } else {
      return value.updated_at
    }
  } else {
    return value.updated_at
  }
}

// 日期filter
export const dayFilter = value => {
  if (value == 0) {
    return value = '-'
  } else {
    return value
  }
}

// 类型字母转文字
export const typeFilter = value => {
  if (value == 'S') {
    return '实用新型';
  } else if (value == 'F') {
    return '发明专利';
  } else if (value == 'W') {
    return '外观设计'
  }
}
// 类型字母转文字 小写
export const typeFilterLowercase = value => {
  switch (value) {
    case 's':
      return '实用新型';
    case 'f':
      return '发明专利';
    case 'w':
      return '外观设计'
  }
}

// 活动状态转数字
export const activityStatus = value => {
  switch (value) {
    case 1:
      return '进行中';
    case 2:
      return '未通过';
    case 3:
      return '待审核'
    case 4:
      return '未开始'
    case 5:
      return '已结束'
    case 6:
      return '已下线'
  }
}

// 用户余额type 对应状态
export const userPurseType = value => {
  switch (value) {
    case 0:
      return '余额提现';
    case 1:
      return '积分兑换';
    case 2:
      return '余额充值';
    case 3:
      return '购买案件';
    case 4:
      return '案件退款';
    case 5:
      return '升级VIP';
    case 6:
      return '意见反馈采纳奖励';
    case 7:
      return '恶意意见反馈惩戒';
    case 8:
      return '打赏';
  }
}
// 用户积分type 对应状态
export const userPursePointsType = value => {
  switch (value) {
    case 1:
      return '申报案件';
    case 2:
      return '推荐所得';
    case 3:
      return '积分兑换';
    case 4:
      return '支付退款';
    case 5:
        return '余额充值';
    case 6:
        return '年终清理积分';
  }
}
// 代理人钱包type 对应状态
export const agentPurseType = value => {
  switch (value) {
    case 0:
      return '余额提现';
    case 1:
      return '推荐所得';
    case 2:
      return '案件撰写';
    case 3:
      return '案件扣款';
    case 4:
      return '案件奖励';
    case 5:
      return '余额充值';
    case 6:
      return '扣款申诉';
    case 7:
      return '购买案件';
    case 8:
      return '案件退款';
    case 9:
      return '升级VIP';
    case 10:
      return '线下打款';
    case 11:
      return '结案所得';
    case 12:
      return '答复所得';
    case 13:
      return '补正所得';
    case 14:
      return '出师奖励';
    case 15:
      return '发明人打赏';
    case 16:
      return '意见反馈采纳奖励';
    case 17:
      return '恶意意见反馈惩戒';
  }
}

// 钱包支付方式显示
export const payMethod = value => {
  if (value.order_pay) {
    switch(value.order_pay.pay_type) {
      case 1:
        return '银联';
      case 2:
        return '支付宝';
      case 3:
        return '微信';
      case 4:
        return '余额';
    }
  } else if (value.recharge) {
    switch(value.recharge.pay_type) {
      case 1:
        return '银联';
      case 2:
        return '支付宝';
      case 3:
        return '微信';
      case 4:
        return '余额';
    }
  } else {
    return ''
  }
}


// 国知局后发明人提交时间
export const usetSubmitTime = value => {
  if (value.order) {
    return value.order.created_at
  } else {
    return  '导入数据'
  }
}
// 代理人申诉列表状态
export const appealStatus = value => {
  switch(value) {
    case 0:
      return '待审核';
    case 1:
      return '通过';
    case 2:
      return '未通过';
  }
}
// 缴费状态
export const payStatus = value => {
  switch(value) {
    case 0:
      return '已缴费';
    case 1:
      return '已缴费';
    case 2:
      return '未缴费';
    case 3:
      return '已退款';
  }
}

export const orderPay = value => {
  if(value) {
    switch(value.pay_status) {
      case 0:
        return '未缴费';
      case 1:
        return '支付中';
      case 2:
        return '已缴费';
      case 3:
        return '已退款';
    }
  } else {
    return '未缴费'
  }
}

// 导师审核状态
export const teacherAuditorStatus = value => {
  if (value.statuss) {
    let statuss = value.statuss
    for (let i = 0; i < statuss.length; i++) {
      if (statuss[i].id == 18) {
        return '导师审核驳回'
      } else if (statuss[i].id == 17) {
        return '导师审核通过'
      } else if (statuss[i].id == 16) {
        return '导师审核中'
      } else if (value.status == '代理人撰写中' && statuss[i].id == 2) {
        return '未提交导师审核'
      } else if (value.status == '案件修改中' && statuss[i].id == 5) {
        return '未提交导师审核'
      }
    }
  }

}

// 扣款申诉审核列表
export const deductionsAppeal = value => {
  switch(value) {
    case 1:
      return '通过';
    case 2:
      return '驳回';
    case 3:
      return '待审核';
  }
}
// 用户vip等级
export const vipLevel = value => {
  switch(Number(value)) {
    case 0:
      return '普通会员';
    case 1:
      return '铜牌会员';
    case 2:
      return '银牌会员';
    case 3:
      return '金牌会员';
    case 4:
      return '钻石会员';
  }
}
// 用户vip等级兑换积分多少
export const vipLevelPoints = value => {
  switch(Number(value)) {
    case 0:
      return '0';
    case 1:
      return '1';
    case 2:
      return '3';
    case 3:
      return '5';
    case 4:
      return '10';
  }
}
// 代理人vip等级
export const agentVipLeval = value => {
  switch(value) {
    case 0:
      return '代理人';
    case 1:
      return 'VIP代理人';
  }
}

// 计算官费
export const getGovMoney = (value) => {
  let govMoney = 0
  govMoney = (Number(value.gov_money) +  Number(value.power_over_money)).toFixed(2)
  return govMoney
}

// 消息列表接收角色转成角色名
export const getRoleName = (value) => {
  let roles = value.split(',')
  let rolesBack = []
  for(let i = 0; i < roles.length; i++) {
    if (roles[i] == 2) {
      rolesBack.push('代理人')
    } else if (roles[i] == 4) {
      rolesBack.push('流程人员')
    } else if (roles[i] == 5) {
      rolesBack.push('发明人')
    } else if (roles[i] == 3) {
      rolesBack.push('审核员')
    }
  }
  return rolesBack.join(',')
}
// 私信详情 名称显示
export const getDirectDetailsName = value => {
  if (value.length >= 2) {

    return value.slice(value.length - 2)
  }  else {
    return value
  }
}
// 系统消息列表判读已读未读
export const isReadOrNo = (value) => {
  if (value) {
    return false
  } else {
    return true
  }
}
// 私信消息列表判读已读未读
export const isDirectReadOrNo = (value) => {
  if (value > 0) {
    return true;
  } else {
    return false;
  }
}
// 私信消息判断身份
export const getNewsRoleName = (value) => {
  switch(Number(value)) {
    case 2:
      return '代理人';
    case 3:
      return '审核员';
    case 4:
      return '流程员';
    case 5:
      return '发明人';
  }
}
// 意见反馈type
export const opinionType = (value) => {
  switch(value) {
    case 1:
      return '平台优化';
    case 2:
      return '服务建议';
    case 3:
      return '其他';
  }
}
// 意见反馈status
export const opinionStatus = (value) => {
  switch(value) {
    case 0:
      return '处理中';
    case 1:
      return '未采纳';
    case 2:
      return '已采纳';
    case 3:
      return '恶意建议';
  }
}
// 意见反馈提交人类型
export const opinionsUserType = (value) => {
  switch(value) {
    case 2:
      return '代理人';
    case 5:
      return '用户';
  }
}

// 代理人接单等级
export const agentGrade = (value) => {
  switch(value) {
    case 1:
      return '初级';
    case 2:
      return '中级';
    case 3:
      return '高级';
  }
}
// 代理人接单等级对应类名
export const agentGradClass = (value) => {
  if (value) {
    switch(value) {
      case 1:
        return 'info-level early';
      case 2:
        return 'info-level intermediate';
      case 3:
        return 'info-level senior';
    }
  } else {
    return ''
  }
}
// 代理人接单数
export const agentIsTake = (value) => {
  if (value == 999) {
    return '不限制接单'
  } else if (value == 0) {
    return '不可接单'
  } else {
    return value
  }
}
// 推荐码
export const channelPid = (value) => {
  if (value) {
    if (value.referral_code) {
      return value.referral_code
    } else {
      return ''
    }
  }  else {
    return ''
  }

}

export const menuContHidden = value => {
  if (value) {
    return false
  } else  {
    return true
  }
}

// 国知局前状态显示颜色
export const orderStatusColor = value => {
  if (value == '代理人撰写中') {
    return 'font_red'
  } 
  else if (value == '案件内审中') {
    return 'font_orange'
  }
  else if (value == '案件修改中') {
    return 'font_yellow'
  }
  else if (value == '定稿文件发送中') {
    return 'font_green'
  }
  else if (value == '发明人确认定稿中') {
    return 'font_cyan'
  }
  else if (value == '上报文件上传中') {
    return 'font_blue'
  }
  else if (value == '文件格式审核中') {
    return 'font_purple'
  }
}

export const regNews = value => {
  return value.replace(/<[^>]+>/g, '')
}